#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "student.h"
#include "admin.h"

#define STUDENT_MAX 100
#define ADMIN_MAX 10

extern struct Student students[STUDENT_MAX];
extern struct Admin admins[ADMIN_MAX];

Student_t stu[STUDENT_MAX] = {
    {"Tom", 18, 100},
    {"Jerry", 19, 90},
    {"Mike", 20, 80}};

Admin_t admin[ADMIN_MAX] = {
    {"admin", "123"},
    {"admin1", "123456"},
    {"admin2", "123456"}};

int login_flag = 0;    // 登录标志
int admin_index = 3;   // 当前管理员索引
int student_index = 3; // 当前学生索引

extern void printf_function_menu();                                                                                   // 打印主菜单函数
extern int menuOperate(int menu, int login_flag, Student_p stu, int *student_index, Admin_p admin, int *admin_index); // 执行菜单
extern void printf_login_menu();                                                                                      // 打印登录菜单函数
extern int menuOperate_login(int menu, int login_flag, Admin_p admin, int *admin_index);                              // 执行登录菜单

int main()
{
    int menu;      // 操作
    system("cls"); // 清空控制台内容
    while (1)
    {
        system("cls"); // 清空控制台内容
        // 未登录
        while (login_flag == 0)
        {

            printf_login_menu();
            scanf("%d", &menu);
            login_flag = menuOperate_login(menu, login_flag, admin, &admin_index);
        }

        // 已登录
        system("cls"); // 清空控制台内容
        while (login_flag == 1)
        {
            printf_function_menu();
            scanf("%d", &menu);
            login_flag = menuOperate(menu, login_flag, stu, &student_index, admin, &admin_index);
        }
    }

    return 0;
}
